I grew up in San Jose, California. On a whim during high school, I decided to do my required volunteer hours as a teaching assistant at San Francisco Zoo. And it was great to talk to people about animals!
I went to San Francisco State University and continued volunteering at the zoo, thinking I would be a veterinarian. I ended up doing research as an undergraduate in the Swei Lab studying disease ecology and being a conservation intern at the San Francisco Zoo. Both were super interesting, but I was still convinced I was going to be a veterinarian.
I moved to Washington to live with my sister once I graduated from SFSU and finally got some veterinarian experience, but it was not to my liking. So I served some pizza for awhile and then ended up at University of Washington in the Doherty Lab. There I learned a lot about bioinformatics, but I missed thinking about conservation. So I packed it up and came to graduate school!
When I am not working I have a variety of hobbies. My top four things to do are:
Here is a picture of me releasing a frog as a conservation intern!
Climate change, conservation, and genetics are my primary research interests. As species deal with climate change- how do they change(or not) genetically? And how can we help conserve species better with this information?
One of the reasons I ended up at CSU was finding Bay et al. (2018) which described an approach to use current genetic variation to predict population success at adapting to future climate changes. I was blown away! Here was an intersection of my research interests.
Another influential paper to how I approach climate and conservation is Thurman et al. (2020). Aside from the snappy title, it lays out the most basic responses that species can have to environmental change aside from extinction. Then the paper details a framework for assessing adaptive capacity that seems broadly relevant when thinking about conservation management.
Currently, my grasp on the math behind my research is not complete. Though I took and appreciated biostatistics classes as a researcher at UW.
My favorite statistical distribution is the Poisson distribution! \[ P(\mathrm{X}=x) = \frac{\lambda^x e^{-\lambda}}{x!} \]
My primary computing experience has included the basics of Java and Python, with a ‘learned-on-the-job’ bunch of shell scripting. And a bunch of using bioinformatics tools.
Here is a silly program from a course in Java that makes a cheating hangman program:
// Class HangmanMain is the driver program for the Hangman program. It reads a
// dictionary of words to be used during the game and then plays a game with
// the user. This is a cheating version of hangman that delays picking a word
// to keep its options open. You can change the setting for SHOW_COUNT to see
// how many options are still left on each turn.
import java.util.*;
import java.io.*;
public class HangmanMain {
public static final String DICTIONARY_FILE = "dictionary.txt";
public static final boolean SHOW_COUNT = true; // show # of choices left
public static void main(String[] args) throws FileNotFoundException {
System.out.println("Welcome to the cse143 hangman game.");
System.out.println();
// open the dictionary file and read dictionary into an ArrayList
Scanner input = new Scanner(new File(DICTIONARY_FILE));
List<String> dictionary = new ArrayList<String>();
while (input.hasNext())
dictionary.add(input.next().toLowerCase());
// set basic parameters
Scanner console = new Scanner(System.in);
System.out.print("What length word do you want to use? ");
int length = console.nextInt();
System.out.print("How many wrong answers allowed? ");
int max = console.nextInt();
System.out.println();
// set up the HangmanManager and start the game
List<String> dictionary2 = Collections.unmodifiableList(dictionary);
HangmanManager hangman = new HangmanManager2(dictionary2, length, max);
if (hangman.words().isEmpty()) {
System.out.println("No words of that length in the dictionary.");
} else {
playGame(console, hangman);
showResults(hangman);
}
}
// Plays one game with the user
public static void playGame(Scanner console, HangmanManager hangman) {
while (hangman.guessesLeft() > 0 && hangman.pattern().contains("-")) {
System.out.println("guesses : " + hangman.guessesLeft());
if (SHOW_COUNT) {
System.out.println("words : " + hangman.words().size());
}
System.out.println("guessed : " + hangman.guesses());
System.out.println("current : " + hangman.pattern());
System.out.print("Your guess? ");
char ch = console.next().toLowerCase().charAt(0);
if (hangman.guesses().contains(ch)) {
System.out.println("You already guessed that");
} else {
int count = hangman.record(ch);
if (count == 0) {
System.out.println("Sorry, there are no " + ch + "'s");
hangman.words();
} else if (count == 1) {
System.out.println("Yes, there is one " + ch);
hangman.words();
} else {
System.out.println("Yes, there are " + count + " " + ch +
"'s");
}
}
System.out.println();
}
}
// reports the results of the game, including showing the answer
public static void showResults(HangmanManager hangman) {
// if the game is over, the answer is the first word in the list
// of words, so we use an iterator to get it
String answer = hangman.words().iterator().next();
System.out.println("answer = " + answer);
if (hangman.guessesLeft() > 0) {
System.out.println("You beat me");
} else {
System.out.println("Sorry, you lose");
}
}
}
And here is a short bit of code to read a temperature and CO2 sensor attached to a raspberry pi that I was fiddling with in an attempt to monitor an incubator:
#Python app to run a K-30 Sensor
import serial
import time
ser = serial.Serial("/dev/ttyAMA0")
print "Serial Connected!"
ser.flushInput()
time.sleep(1)
while True:
ser.write("\xFE\x44\x00\x08\x02\x9F\x25")
time.sleep(.01)
resp = ser.read(7)
high = ord(resp[3])
low = ord(resp[4])
co2 = (high*256) + low
print ""
print ""
print "Co2 = " + str(co2)
time.sleep(1)
I just like the aesthetics of this graph.
Bay, Rachael A, Ryan J Harrigan, Vinh Le Underwood, H Lisle Gibbs, Thomas B Smith, and Kristen Ruegg. 2018. “Genomic Signals of Selection Predict Climate-Driven Population Declines in a Migratory Bird.” Science 359 (6371): 83–86.
Thurman, Lindsey L., Bruce A. Stein, Erik A. Beever, Wendy Foden, Sonya R. Geange, Nancy Green, John E. Gross, et al. 2020. “Persist in Place or Shift in Space? Evaluating the Adaptive Capacity of Species to Climate Change.” Frontiers in Ecology and the Environment. https://doi.org/10.1002/fee.2253.